The emergence of cloud computing based on virtualization technologies bringshuge opportunities to host virtual resource at low cost without the need ofowning any infrastructure. Virtualization technologies enable users to acquire,configure and be charged on pay-per-use basis. However, Cloud data centersmostly comprise heterogeneous commodity servers hosting multiple virtualmachines (VMs) with potential various specifications and fluctuating resourceusages, which may cause imbalanced resource utilization within servers that maylead to performance degradation and service level agreements (SLAs) violations.To achieve efficient scheduling, these challenges should be addressed andsolved by using load balancing strategies, which have been proved to be NP-hardproblem. From multiple perspectives, this work identifies the challenges andanalyzes existing algorithms for allocating VMs to PMs in infrastructureClouds, especially focuses on load balancing. A detailed classificationtargeting load balancing algorithms for VM placement in cloud data centers isinvestigated and the surveyed algorithms are classified according to theclassification. The goal of this paper is to provide a comprehensive andcomparative understanding of existing literature and aid researchers byproviding an insight for potential future enhancements.
展开▼